<!DOCTYPE html>
<html lang="en"  xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>仓库管理系统</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta http-equiv="Access-Control-Allow-Origin" content="*">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="format-detection" content="telephone=no">
    <link rel="stylesheet" href="../../../../resources/lib/layui-v2.5.5/css/layui.css" media="all" />
	<link rel="stylesheet" href="../../../../resources/css/layuicmspublic.css" media="all" />
    <link rel="stylesheet" href="../../../../resources/css/public.css" media="all" />
</head>
<body >
<div class="layuimini-container">
<!--搜索条件开始-->
	 <div class="layuimini-main">
		<fieldset class="layui-elem-field layuimini-search">
			<legend>搜索信息</legend>
			<div style="margin: 10px 10px 10px 10px">
				<form class="layui-form layui-form-pane" lay-filter="searchFrm" id="searchFrm" name="searchFrm" method="post">
					<div class="layui-form-item">
					    <div class="layui-inline">
					        <label class="layui-form-label">供应商</label>
					        <div class="layui-input-inline">
					            <select name="providerid" class="providerSel">
									<option value ="">请选择供应商</option>
								</select>
					        </div>
					    </div>
					    <div class="layui-inline">
					        <label class="layui-form-label">商品名称</label>
					        <div class="layui-input-inline">
					            <input type="text" name="goodsname" autocomplete="off" class="layui-input">
					        </div>
					    </div>
					    <div class="layui-inline">
					        <label class="layui-form-label">生产批号</label>
					        <div class="layui-input-inline">
					            <input type="text" name="productcode"   autocomplete="off" class="layui-input">
					        </div>
					    </div>
					</div>
					<div class="layui-form-item">
					    <div class="layui-inline">
					        <label class="layui-form-label">批准文号</label>
					        <div class="layui-input-inline">
					           <input type="text" name="promitcode" autocomplete="off" class="layui-input">
					        </div>
					    </div>
					    <div class="layui-inline">
					        <label class="layui-form-label">商品描述</label>
					        <div class="layui-input-inline">
					            <input type="text" name="description" autocomplete="off" class="layui-input">
					        </div>
					    </div>
					    <div class="layui-inline">
					        <label class="layui-form-label">商品规格</label>
					        <div class="layui-input-inline">
					            <input type="text" name="size"   autocomplete="off" class="layui-input">
					        </div>
					    </div>
					</div>
					<div class="layui-form-item" style="text-align: center">
						<div class="layui-inline">
							<button type="button" class="layui-btn layui-btn-normal  layui-icon layui-icon-search" lay-filter="doSearch" lay-submit="">查询</button>
							<button type="reset" class="layui-btn layui-icon layui-icon-refresh">重置</button>
						</div>
					</div>
		</form>
			</div>
		</fieldset>
		<!--搜索条件结束-->
	
<!--搜索条件结束-->

<!--数据表格开始-->
	
		<table class="layui-hide" id="GoodsTable" lay-filter="GoodsTable"></table>
		<div id="GoodsToolBar" style="display: none;">
			<button type="button" lay-event="addGoods" class="layui-btn layui-btn-sm goods_btn_add"><span class="layui-icon layui-icon-add-circle"></span>添加</button>
			<button type="button" lay-event="batchDelete" class="layui-btn layui-btn-sm layui-btn-danger goods_btn_batchDelete"><span class="layui-icon layui-icon-delete"></span>批量删除</button>
		</div>
		<div id="GoodsRowBar" style="display: none">
			<button type="button" lay-event="delete" class="layui-btn layui-btn-sm layui-btn-danger goods_btn_delete"><span class="layui-icon layui-icon-delete"></span>删除</button>
			<button type="button" lay-event="update" class="layui-btn layui-btn-sm goods_btn_update"><span class="layui-icon layui-icon-set-sm"></span>更新</button>
		</div>
		<script type="text/html" id="availableTpl">
		  <input type="checkbox" name="available" value="{{d.id}}" lay-skin="switch" lay-text="可用|不可用" lay-filter="availableSwitch" {{ d.available == 1 ? 'checked' : '' }}>
		</script>
	</div>
	
</div>
<!--数据表格结束-->

<!--添加和修改的弹出层开始-->
<div style="display: none;padding: 20px" id="saveOrUpdateDiv" >
    <form class="layui-form layui-form-pane"  lay-filter="dataFrm" id="dataFrm" method="post">
       <div class="layui-col-md12 layui-col-xs12">
       		<div class="layui-row layui-col-space10">
       			<div class="layui-col-md9 layui-col-xs7">
       				<div class="layui-form-item magt3">
       					<label class="layui-form-label">供应商</label>
       					<div class="layui-input-block">
							<select name="providerid" class="providerSel">
								<option value ="">请选择供应商</option>
							</select>
       					</div>
       				</div>
						<div class="layui-form-item magt3">
							<label class="layui-form-label">商品名称</label>
							<div class="layui-input-block">
								 <input type="text" name="id" class="layui-hide"/>
								<input type="text" name="goodsname" class="layui-input" lay-verify="required" placeholder="请输入商品名称">
							</div>
						</div>
						<div class="layui-form-item magt3">
							<label class="layui-form-label">商品描述</label>
							<div class="layui-input-block">
								<input type="text" name="description"  class="layui-input" lay-verify="required" placeholder="请输入商品描述">
							</div>
						</div>
       			</div>
       			<div class="layui-col-md3 layui-col-xs5">
       				<div class="layui-upload-list thumbBox mag0 magt3">
       					<input type="text" name="goodsimg" id="goodsimg" class=" layui-hide"  />
       					<img class="layui-upload-img thumbImg">
       				</div>
       			</div>
       		</div>
       		<div class="layui-form-item magb0">
       			<div class="layui-inline">
				<label class="layui-form-label">产地</label>
				<div class="layui-input-inline">
					<input type="text" name="produceplace" class="layui-input " lay-verify="required" placeholder="请输入商品产地">
				</div>
			</div>
			<div class="layui-inline">
				<label class="layui-form-label">包装</label>
				<div class="layui-input-inline">
					<input type="text" name="goodspackage" class="layui-input " lay-verify="required" placeholder="请输入商品包装">
				</div>
			</div>
			<div class="layui-inline">
				<label class="layui-form-label">规格</label>
				<div class="layui-input-inline">
					<input type="text" name="size" class="layui-input " lay-verify="required" placeholder="请输入商品规格">
				</div>
			</div>
			<div class="layui-inline">
				<label class="layui-form-label">生产批号</label>
				<div class="layui-input-inline">
					<input type="text" name="productcode" class="layui-input " lay-verify="required" placeholder="请输入商品生产批号">
				</div>
			</div>
			<div class="layui-inline">
				<label class="layui-form-label">批准文号</label>
				<div class="layui-input-inline">
					<input type="text" name="promitcode" class="layui-input " lay-verify="required" placeholder="请输入商品批准文号">
				</div>
			</div>
			<div class="layui-inline">
				<label class="layui-form-label">销售价格</label>
				<div class="layui-input-inline">
					<input type="text" name="price" class="layui-input " lay-verify="required" placeholder="请输入商品价格">
				</div>
			</div>
			<div class="layui-inline">
				<label class="layui-form-label">库存量</label>
				<div class="layui-input-inline">
					<input type="text" name="number" class="layui-input " lay-verify="required" placeholder="请输入商品库存量">
				</div>
			</div>
			<div class="layui-inline">
				<label class="layui-form-label">预警值</label>
				<div class="layui-input-inline">
					<input type="text" name="dangernum" class="layui-input " lay-verify="required" placeholder="请输入商品库存预警值">
				</div>
			</div>
       		</div>
       	</div>
        <div class="layui-form-item" style="text-align: center;">
            <div class="layui-input-block">
                <button type="button" class="layui-btn layui-btn-normal layui-btn-sm layui-icon layui-icon-release" lay-filter="doSubmit" lay-submit="">提交</button>
                <button type="reset" id="dataFrmResetBtn" class="layui-btn layui-btn-warm layui-btn-sm layui-icon layui-icon-refresh" >重置</button>
            </div>
        </div>
    </form>
</div>
<!--添加和修改的弹出层结束-->

<script src="../../../../resources/lib/jquery-3.4.1/jquery-3.4.1.min.js" charset="utf-8"></script>
<script src="../../../../resources/lib/layui-v2.5.5/layui.js" charset="utf-8"></script>
<script src="../../../../resources/js/lay-config.js?v=1.0.4" charset="utf-8"></script>
<script src="../../../../resources/lib/jq-module/jquery.particleground.min.js" charset="utf-8"></script>
<script src="../../../../resources/common/jquery.cookie.min.js" charset="utf-8"></script>
<script src="../../../../resources/common/common.js" charset="utf-8"></script>

<script>
    layui.use(['jquery','layer','form','table','upload'],function () {
        var form=layui.form;
        var $=layui.jquery;
        var layer=layui.layer;
        var table=layui.table;
		var upload=layui.upload;
      
	  //加载查询条件里面的供应商的下拉列表
	  $.get(api+"provider/getAllAvailableProvider",function(res){
	  	var search_providerid=$(".providerSel");
	  	var html="<option value =''>请选择供应商</option>";
	  	var data=res.data;
	  	$.each(data,function(index,item){
	  		html+="<option value ="+item.id+">"+item.providername+"</option>"
	  	});
	  	search_providerid.html(html);
	  	form.render("select");
	  });

        var tableIndex = table.render({
            elem: '#GoodsTable'
            ,url: api+'goods/loadAllGoods'
            ,toolbar: '#GoodsToolBar' //开启头部工具栏，并为其绑定左侧模板
            ,title: '商品表'
            ,page: true
            ,cols: [ [
                {type: "checkbox",  fixed: "left" ,width:80},
                {field: 'id', title: 'ID', align: "center",width:80},
                {field: 'goodsname',  title: '商品名称', align: "center",width:150},
                {field: 'providername',  title: '供应商', align: "center",width:120},
                {field: 'produceplace',  title: '产地', align: "center",width:150},
                {field: 'size',  title: '规格', align: "center",width:120},
                {field: 'goodsimg',  title: '图片', align: "center",width:120,templet:function(d){
                	if(d.goodsimg){
                		return "<img width=30 height=30 src='"+baseUrl+d.goodsimg+"' />"
                	}else{
                		return "";
                	}
                }},
                {field: 'goodspackage',  title: '包装', align: "center",width:150},
                {field: 'productcode',  title: '生产批号', align: "center",width:150},
                {field: 'promitcode',  title: '批准文号', align: "center",width:150},
                {field: 'description',  title: '描述', align: "center",width:180},
                {field: 'price',  title: '价格(￥)', align: "center",width:180},
                {field: 'number',  title: '数量', align: "center",width:180},
                {field: 'dangernum',  title: '预警值', align: "center",width:120},
				{field: 'available',  title: '是否可用', align: "center",width: 120,templet:'#availableTpl'},
                {fixed: 'right', title:'操作', toolbar: '#GoodsRowBar',align:'center',width:180}
            ] ]
            ,done:function(data,curr,count){
                //不是第一页如果返回的数据为0那么就返回上一页
                if(data.data.length==0&&curr!=1){
                    tableIndex.reload({
                        page:{
                            curr:curr-1
                        }
                    });
                }
            }
        });

        //模糊查询
        form.on('submit(doSearch)',function(data){
            var params = $("#searchFrm").serialize();
            tableIndex.reload({
                url: api+"goods/loadAllGoods?" + params,
                page:{
                    curr:1
                }
            })
            return false;
        });
		
		//监听可用操作
		 form.on('switch(availableSwitch)', function(obj){
		    $.post(api+"goods/updateGoods",{id:this.value,available:obj.elem.checked?1:0},function(res){
				  layer.msg(res.msg);
				  tableIndex.reload();
			 })
		   //layer.tips(this.value + ' ' + this.name + '：'+ obj.elem.checked, obj.othis);
		});

        //头工具栏事件
        table.on('toolbar(GoodsTable)', function(obj){
            switch(obj.event){
                case 'batchDelete':
                    BatchDelete();
                    break;
                case 'addGoods':
                    openAddGoods();
                    break;
            };
        });


        //监听行工具条的事件
        table.on("tool(GoodsTable)",function(obj){
            var data = obj.data; //获得当前行数据
            switch(obj.event){
                case 'delete':
                    DeleteGoods(data);
                    break;
                case 'update':
                    UpdateGoods(data);
                    break;
            };
        });

        var url;
        var mainIndex;

        //添加添加页面
        function openAddGoods() {
            mainIndex = layer.open({
                type:1,
                title:'添加商品',
                content:$("#saveOrUpdateDiv"),
                area:['800px','550px'],
                success:function(index){
					$(".thumbImg").attr("src","");
                    $("#dataFrm")[0].reset();
                    url= api+"goods/addGoods";
                }
            });
        }

        //更新页面
       function UpdateGoods(data){
           mainIndex = layer.open({
               type:1,
               title:'修改商品',
               content:$("#saveOrUpdateDiv"),
               area:['800px','550px'],
               success:function(index){
				   if(data.goodsimg){
					   $(".thumbImg").attr("src",baseUrl+data.goodsimg);
				   }else{
					   $(".thumbImg").attr("src","");
				   }
                   form.val("dataFrm",data);
                   url= api+"goods/updateGoods";
               }
           });
        }
		
		//重置按钮 同时重置图片
		$("#dataFrmResetBtn").click(function(){
			$(".thumbImg").attr("src","");
		})

        //保存
        form.on("submit(doSubmit)",function(obj){
            //序列化表单数据
            var params=$("#dataFrm").serialize();
            $.post(url,params,function(obj){
                layer.msg(obj.msg);
                //关闭弹出层
                layer.close(mainIndex);
                //刷新数据 表格
                if (obj.code ==200){
                    tableIndex.reload();
                }
            })
        });

        //批量删除
        function BatchDelete() {
            //得到选中行
            var checkStatus = table.checkStatus('GoodsTable');
            var dataLength = checkStatus.data.length;
            console.log(dataLength);
            if (dataLength>0){
                layer.confirm('你确定要删除这些数据吗?', {icon: 3, title:'提示'}, function(index){
                    var data = checkStatus.data; //获取选中行的数据
                    var ids = '';
                    $.each(data,function (index,item) {
                        if (index == 0){
                            ids += 'ids='+ item.id;
                        }else{
                            ids += '&ids='+ item.id;
                        }
                    })
                    $.post( api+"goods/batchDeleteGoods",ids,function (res) {
                        if(res.code==200){
                            tableIndex.reload();
                        }
                        layer.msg(res.msg);
                    })
                    layer.close(index);
                })
            }else{
                layer.msg("请选中行");
            }
        }

        //删除
        function  DeleteGoods(data) {
            layer.confirm('你确定要删除这条数据吗?', {icon: 3, title:'提示'}, function(index){
                $.post( api+"goods/deleteGoods",{id:data.id},function(res){
                    if(res.code==200){
                        tableIndex.reload();
                    }
                    layer.msg(res.msg);
                })
                layer.close(index);
            });
        }

      //上传缩略图
		upload.render({
			elem: '.thumbBox',
			url: api+'file/uploadGoodsImage',
			field: "mf", //设定文件域的字段名
			acceptMime: 'image/*',
			done: function(res, index, upload){
				$('.thumbImg').attr('src',baseUrl+res.data.src);
				$('.thumbBox').css("background","#fff");
				$("#goodsimg").val(res.data.src);
				
			}
      	});

    })
</script>
</body>
</html>